<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IBustHotkeyProfile</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="index.html" title="IBust Reference Manual">
<link rel="up" href="ch02.html" title="Panel (User Interfaces)">
<link rel="prev" href="IBustAttrList.html" title="IBustAttrList">
<link rel="next" href="IBustLookupTable.html" title="IBustLookupTable">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="IBustAttrList.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">IBust Reference Manual</th>
<td><a accesskey="n" href="IBustLookupTable.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#IBustHotkeyProfile.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#IBustHotkeyProfile.description" class="shortcut">Description</a>
                   | 
                  <a href="#IBustHotkeyProfile.object-hierarchy" class="shortcut">Object Hierarchy</a>
                   | 
                  <a href="#IBustHotkeyProfile.signals" class="shortcut">Signals</a>
</td></tr>
</table>
<div class="refentry">
<a name="IBustHotkeyProfile"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="IBustHotkeyProfile.top_of_page"></a>IBustHotkeyProfile</span></h2>
<p>IBustHotkeyProfile — Hotkeys and associated events.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="IBustHotkeyProfile.stability-level"></a><h2>Stability Level</h2>
Stable, unless otherwise indicated
</div>
<div class="refsynopsisdiv">
<a name="IBustHotkeyProfile.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">struct              <a class="link" href="IBustHotkeyProfile.html#IBustHotkeyProfile-struct" title="struct IBustHotkeyProfile">IBustHotkeyProfile</a>;
struct              <a class="link" href="IBustHotkeyProfile.html#IBustHotkeyProfileClass" title="struct IBustHotkeyProfileClass">IBustHotkeyProfileClass</a>;
<span class="returnvalue">gboolean</span>            <a class="link" href="IBustHotkeyProfile.html#ibust-hotkey-profile-add-hotkey" title="ibust_hotkey_profile_add_hotkey ()">ibust_hotkey_profile_add_hotkey</a>      (<em class="parameter"><code><a class="link" href="IBustHotkeyProfile.html" title="IBustHotkeyProfile"><span class="type">IBustHotkeyProfile</span></a> *profile</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> keyval</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> modifiers</code></em>,
                                                         <em class="parameter"><code><span class="type">GQuark</span> event</code></em>);
<span class="returnvalue">gboolean</span>            <a class="link" href="IBustHotkeyProfile.html#ibust-hotkey-profile-add-hotkey-from-string" title="ibust_hotkey_profile_add_hotkey_from_string ()">ibust_hotkey_profile_add_hotkey_from_string</a>
                                                        (<em class="parameter"><code><a class="link" href="IBustHotkeyProfile.html" title="IBustHotkeyProfile"><span class="type">IBustHotkeyProfile</span></a> *profile</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *str</code></em>,
                                                         <em class="parameter"><code><span class="type">GQuark</span> event</code></em>);
<span class="returnvalue">GQuark</span>              <a class="link" href="IBustHotkeyProfile.html#ibust-hotkey-profile-filter-key-event" title="ibust_hotkey_profile_filter_key_event ()">ibust_hotkey_profile_filter_key_event</a>
                                                        (<em class="parameter"><code><a class="link" href="IBustHotkeyProfile.html" title="IBustHotkeyProfile"><span class="type">IBustHotkeyProfile</span></a> *profile</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> keyval</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> modifiers</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> prev_keyval</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> prev_modifiers</code></em>,
                                                         <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
<span class="returnvalue">GQuark</span>              <a class="link" href="IBustHotkeyProfile.html#ibust-hotkey-profile-lookup-hotkey" title="ibust_hotkey_profile_lookup_hotkey ()">ibust_hotkey_profile_lookup_hotkey</a>   (<em class="parameter"><code><a class="link" href="IBustHotkeyProfile.html" title="IBustHotkeyProfile"><span class="type">IBustHotkeyProfile</span></a> *profile</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> keyval</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> modifiers</code></em>);
<span class="returnvalue">gboolean</span>            <a class="link" href="IBustHotkeyProfile.html#ibust-hotkey-profile-remove-hotkey" title="ibust_hotkey_profile_remove_hotkey ()">ibust_hotkey_profile_remove_hotkey</a>   (<em class="parameter"><code><a class="link" href="IBustHotkeyProfile.html" title="IBustHotkeyProfile"><span class="type">IBustHotkeyProfile</span></a> *profile</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> keyval</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> modifiers</code></em>);
<span class="returnvalue">gboolean</span>            <a class="link" href="IBustHotkeyProfile.html#ibust-hotkey-profile-remove-hotkey-by-event" title="ibust_hotkey_profile_remove_hotkey_by_event ()">ibust_hotkey_profile_remove_hotkey_by_event</a>
                                                        (<em class="parameter"><code><a class="link" href="IBustHotkeyProfile.html" title="IBustHotkeyProfile"><span class="type">IBustHotkeyProfile</span></a> *profile</code></em>,
                                                         <em class="parameter"><code><span class="type">GQuark</span> event</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="IBustHotkeyProfile.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
  GObject
   +----GInitiallyUnowned
         +----<a class="link" href="IBustObject.html" title="IBustObject">IBustObject</a>
               +----<a class="link" href="IBustSerializable.html" title="IBustSerializable">IBustSerializable</a>
                     +----IBustHotkeyProfile
</pre>
</div>
<div class="refsect1">
<a name="IBustHotkeyProfile.signals"></a><h2>Signals</h2>
<pre class="synopsis">
  "<a class="link" href="IBustHotkeyProfile.html#IBustHotkeyProfile-trigger" title='The "trigger" signal'>trigger</a>"                                        : <code class="literal">Has Details</code>
</pre>
</div>
<div class="refsect1">
<a name="IBustHotkeyProfile.description"></a><h2>Description</h2>
<p>
An IBustHotkeyProfile associates a hotkey and an event.
</p>
</div>
<div class="refsect1">
<a name="IBustHotkeyProfile.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="IBustHotkeyProfile-struct"></a><h3>struct IBustHotkeyProfile</h3>
<pre class="programlisting">struct IBustHotkeyProfile;</pre>
<p>
An opaque data type representing an IBustHotkeyProfile.
</p>
</div>
<hr>
<div class="refsect2">
<a name="IBustHotkeyProfileClass"></a><h3>struct IBustHotkeyProfileClass</h3>
<pre class="programlisting">struct IBustHotkeyProfileClass {
    IBustSerializableClass parent;

    void (* trigger) (IBustHotkeyProfile *profile,
                      GQuark             event,
                      gpointer           user_data);
};
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="ibust-hotkey-profile-add-hotkey"></a><h3>ibust_hotkey_profile_add_hotkey ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>            ibust_hotkey_profile_add_hotkey      (<em class="parameter"><code><a class="link" href="IBustHotkeyProfile.html" title="IBustHotkeyProfile"><span class="type">IBustHotkeyProfile</span></a> *profile</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> keyval</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> modifiers</code></em>,
                                                         <em class="parameter"><code><span class="type">GQuark</span> event</code></em>);</pre>
<p>
Add a hotkey and its associated event to an IBustHotkeyProfile.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>profile</code></em> :</span></p></td>
<td>An IBustHotkeyProfile.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>keyval</code></em> :</span></p></td>
<td>Keycode of the hotkey.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>modifiers</code></em> :</span></p></td>
<td>Modifiers of the hotkey.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
<td>The event to be associated.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>Always TRUE.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-hotkey-profile-add-hotkey-from-string"></a><h3>ibust_hotkey_profile_add_hotkey_from_string ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>            ibust_hotkey_profile_add_hotkey_from_string
                                                        (<em class="parameter"><code><a class="link" href="IBustHotkeyProfile.html" title="IBustHotkeyProfile"><span class="type">IBustHotkeyProfile</span></a> *profile</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *str</code></em>,
                                                         <em class="parameter"><code><span class="type">GQuark</span> event</code></em>);</pre>
<p>
Add a hotkey and its associated event to an IBustHotkeyProfile.
The hotkey is in string format, such like <code class="constant">Control+Shift+A</code>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>profile</code></em> :</span></p></td>
<td>An IBustHotkeyProfile.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
<td>Key in string representation.  '+' is the separator.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
<td>The event to be associated.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>FALSE if <em class="parameter"><code>str</code></em> contains invalid symbol; TRUE otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-hotkey-profile-filter-key-event"></a><h3>ibust_hotkey_profile_filter_key_event ()</h3>
<pre class="programlisting"><span class="returnvalue">GQuark</span>              ibust_hotkey_profile_filter_key_event
                                                        (<em class="parameter"><code><a class="link" href="IBustHotkeyProfile.html" title="IBustHotkeyProfile"><span class="type">IBustHotkeyProfile</span></a> *profile</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> keyval</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> modifiers</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> prev_keyval</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> prev_modifiers</code></em>,
                                                         <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<p>
Emit a <code class="constant">::trigger</code> signal when a hotkey is in a profile.
</p>
<p>
See also: ::trigger
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>profile</code></em> :</span></p></td>
<td>An IBustHotkeyProfile.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>keyval</code></em> :</span></p></td>
<td>Keycode of the hotkey.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>modifiers</code></em> :</span></p></td>
<td>Modifiers of the hotkey.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>prev_keyval</code></em> :</span></p></td>
<td>Keycode of the hotkey.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>prev_modifiers</code></em> :</span></p></td>
<td>Modifiers of the hotkey.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data for signal "trigger".</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>0 if releasing a hotkey and the hotkey is not in the profile ; an associated event otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-hotkey-profile-lookup-hotkey"></a><h3>ibust_hotkey_profile_lookup_hotkey ()</h3>
<pre class="programlisting"><span class="returnvalue">GQuark</span>              ibust_hotkey_profile_lookup_hotkey   (<em class="parameter"><code><a class="link" href="IBustHotkeyProfile.html" title="IBustHotkeyProfile"><span class="type">IBustHotkeyProfile</span></a> *profile</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> keyval</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> modifiers</code></em>);</pre>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>profile</code></em> :</span></p></td>
<td>An IBustHotkeyProfile.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>keyval</code></em> :</span></p></td>
<td>Keycode of the hotkey.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>modifiers</code></em> :</span></p></td>
<td>Modifiers of the hotkey.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>The event associated to the hotkey or 0 if the hotkey is not in the
profile.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-hotkey-profile-remove-hotkey"></a><h3>ibust_hotkey_profile_remove_hotkey ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>            ibust_hotkey_profile_remove_hotkey   (<em class="parameter"><code><a class="link" href="IBustHotkeyProfile.html" title="IBustHotkeyProfile"><span class="type">IBustHotkeyProfile</span></a> *profile</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> keyval</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> modifiers</code></em>);</pre>
<p>
Remove the hotkey for an IBustHotkeyProfile.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>profile</code></em> :</span></p></td>
<td>An IBustHotkeyProfile.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>keyval</code></em> :</span></p></td>
<td>Keycode of the hotkey.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>modifiers</code></em> :</span></p></td>
<td>Modifiers of the hotkey.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>FALSE if the key is not in <em class="parameter"><code>profile</code></em>, TRUE otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-hotkey-profile-remove-hotkey-by-event"></a><h3>ibust_hotkey_profile_remove_hotkey_by_event ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>            ibust_hotkey_profile_remove_hotkey_by_event
                                                        (<em class="parameter"><code><a class="link" href="IBustHotkeyProfile.html" title="IBustHotkeyProfile"><span class="type">IBustHotkeyProfile</span></a> *profile</code></em>,
                                                         <em class="parameter"><code><span class="type">GQuark</span> event</code></em>);</pre>
<p>
Remove the hotkey for an IBustHotkeyProfile by event.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>profile</code></em> :</span></p></td>
<td>An IBustHotkeyProfile.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
<td>The associated event.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>FALSE if no such event in <em class="parameter"><code>profile</code></em>, TRUE otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1">
<a name="IBustHotkeyProfile.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="IBustHotkeyProfile-trigger"></a><h3>The <code class="literal">"trigger"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustHotkeyProfile.html" title="IBustHotkeyProfile"><span class="type">IBustHotkeyProfile</span></a> *profile,
                                                        <span class="type">guint</span>              event,
                                                        <span class="type">gpointer</span>           user_data,
                                                        <span class="type">gpointer</span>           user_data)      : <code class="literal">Has Details</code></pre>
<p>
Emitted when a hotkey is pressed and the hotkey is in profile.
Implement the member function <code class="function">trigger()</code> in extended class to receive this signal.
</p>
<p>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>The last parameter, user_data is not actually a valid parameter. It is displayed because of GtkDoc bug.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>profile</code></em> :</span></p></td>
<td>An IBustHotkeyProfile.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
<td>An event in GQuark.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>User data for callback.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.18</div>
</body>
</html>